package mapeo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import objetos.DocumentoIdentidad;
import objetos.Candidato;

public class CandidatosMapper {

	
	
	public CandidatosMapper() {
		super();
	}

	public List<Candidato> parseListaCandidato(ResultSet rs){
		List<Candidato> resultList = new ArrayList<Candidato>();
		Candidato candidato = null;
		DocumentoIdentidad documentoIdentidad = null;
		if(rs!=null){
			try {
				
				if(rs.first()){
					do{
						candidato = new Candidato();
						
						candidato.setId(rs.getInt("candidatos_id"));
						candidato.setNombres(rs.getString("candidatos_nombres"));
						candidato.setApellidos(rs.getString("candidatos_apellidos"));
						candidato.setFotoCandidato(rs.getString("candidatos_foto_candidato"));
						candidato.setPartidoPolitico(rs.getString("candidatos_partido_politico"));
						candidato.setFotoPartidoPolitico(rs.getString("candidatos_foto_partido_politico"));
						candidato.setCantidadVotos(rs.getInt("candidatos_votos"));
						if(rs.getString("tipos_documentos_id") != null && rs.getString("tipos_documentos_id").length()>0){
							documentoIdentidad = new DocumentoIdentidad();
							documentoIdentidad.setId(rs.getInt("tipos_documentos_id"));
							documentoIdentidad.setNombre(rs.getString("tipos_documentos_nombre"));
							documentoIdentidad.setNombreCompleto(rs.getString("tipos_documentos_nombre_completo"));
						}
						candidato.setDocumentoIdentidad(documentoIdentidad);
						
						candidato.setNumeroDocumento(rs.getString("candidatos_numero_documento"));
						
							
						resultList.add(candidato);
					}while(rs.next());
				}
				
			} catch (SQLException e) {
				e.printStackTrace();
				candidato = new Candidato();
			}
		}
		return resultList;
	}
	
	public Candidato parseCandidato(ResultSet rs){
		
		Candidato candidato = new Candidato();
		DocumentoIdentidad documentoIdentidad = null; 
		if(rs!=null){
			try {
				
				if(rs.first()){
					candidato.setId(rs.getInt("candidatos_id"));
					candidato.setNombres(rs.getString("candidatos_nombres"));
					candidato.setApellidos(rs.getString("candidatos_apellidos"));
					candidato.setFotoCandidato(rs.getString("candidatos_foto_candidato"));
					candidato.setPartidoPolitico(rs.getString("candidatos_partido_politico"));
					candidato.setFotoPartidoPolitico(rs.getString("candidatos_foto_partido_politico"));
					candidato.setCantidadVotos(rs.getInt("candidatos_votos"));
					
					if(rs.getString("tipos_documentos_id") != null && rs.getString("tipos_documentos_id").length()>0){
						documentoIdentidad = new DocumentoIdentidad();
						documentoIdentidad.setId(rs.getInt("tipos_documentos_id"));
						documentoIdentidad.setNombre(rs.getString("tipos_documentos_nombre"));
						documentoIdentidad.setNombreCompleto(rs.getString("tipos_documentos_nombre_completo"));
					}
					candidato.setDocumentoIdentidad(documentoIdentidad);
					
					candidato.setNumeroDocumento(rs.getString("candidatos_numero_documento"));
				}
			} catch (SQLException e) {
				e.printStackTrace();
				candidato = new Candidato();
			}
		}
		return candidato;
	}
}
